package pe.gob.osce.sirenas.dao.convert;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import pe.gob.osce.sirenas.model.TrayectoriaArbitralDTO;
import pe.gob.osce.sirenas.model.jpa.Auditoria;
import pe.gob.osce.sirenas.model.jpa.TrayectoriaArbitral;
import pe.gob.osce.sirenas.model.jpa.fiscalizacion.FiscalizaTrayecArbitral;
import pe.gob.osce.sirenas.model.jpa.rectificaciones.HistorialTrayectoriaArbitral;



public class TrayectoriaArbitralConvert {

	public TrayectoriaArbitralConvert(){}
	
	public static TrayectoriaArbitral createJPA(TrayectoriaArbitralDTO trayectoriaArbitralDTO, Auditoria auditoria)
	{
		TrayectoriaArbitral objetoJPA= new TrayectoriaArbitral();

		
		objetoJPA.setIdTrayectoria(trayectoriaArbitralDTO.getIdTrayectoria());
		objetoJPA.setIdFicha(trayectoriaArbitralDTO.getIdFicha());
		objetoJPA.setIndEspecialidad(trayectoriaArbitralDTO.getIndEspecialidad());	
		objetoJPA.setTipoTrayectoria(trayectoriaArbitralDTO.getTipoTrayectoria());
		objetoJPA.setNomEntidad(trayectoriaArbitralDTO.getNomEntidad());
		objetoJPA.setNomContratista(trayectoriaArbitralDTO.getNomContratista());
		objetoJPA.setObjContratacion(trayectoriaArbitralDTO.getObjContratacion());
		objetoJPA.setNumContrato(trayectoriaArbitralDTO.getNumContrato());
		objetoJPA.setProcesoSeleccion(trayectoriaArbitralDTO.getProcesoSeleccion());		
		objetoJPA.setIdMateriaControvertida(trayectoriaArbitralDTO.getIdesMateriaControvertida());		
		objetoJPA.setFecInicio(trayectoriaArbitralDTO.getFecInicio());
		objetoJPA.setFecFin(trayectoriaArbitralDTO.getFecFin());
		objetoJPA.setIndTipoArbitraje(trayectoriaArbitralDTO.getIndTipoArbitraje());
		objetoJPA.setCodTramite(trayectoriaArbitralDTO.getCodTramite());
		objetoJPA.setCodRegistro(trayectoriaArbitralDTO.getCodRegistro());
		
		objetoJPA.setEstado(trayectoriaArbitralDTO.getEstado());
		objetoJPA.setAuditoria(auditoria);	
		
		
	return objetoJPA;
	}


	
	public static TrayectoriaArbitralDTO createTrayectoriaFiscalizadaDTO(TrayectoriaArbitral trayectoriaArbitralJPA,FiscalizaTrayecArbitral fiscalizaTrayecArbitralJPA)
	{
		TrayectoriaArbitralDTO objetoDTO= new TrayectoriaArbitralDTO();

		objetoDTO.setIdTrayectoria(trayectoriaArbitralJPA.getIdTrayectoria());
		objetoDTO.setIdFicha(trayectoriaArbitralJPA.getIdFicha());
		objetoDTO.setIndEspecialidad(trayectoriaArbitralJPA.getIndEspecialidad());	
		objetoDTO.setTipoTrayectoria(trayectoriaArbitralJPA.getTipoTrayectoria());
		objetoDTO.setNomEntidad(trayectoriaArbitralJPA.getNomEntidad());
		objetoDTO.setNomContratista(trayectoriaArbitralJPA.getNomContratista());
		objetoDTO.setObjContratacion(trayectoriaArbitralJPA.getObjContratacion());
		objetoDTO.setNumContrato(trayectoriaArbitralJPA.getNumContrato());
		objetoDTO.setProcesoSeleccion(trayectoriaArbitralJPA.getProcesoSeleccion());		
		objetoDTO.setIdesMateriaControvertida(trayectoriaArbitralJPA.getIdMateriaControvertida());		
		objetoDTO.setFecInicio(trayectoriaArbitralJPA.getFecInicio());
		objetoDTO.setFecFin(trayectoriaArbitralJPA.getFecFin());
		objetoDTO.setIndTipoArbitraje(trayectoriaArbitralJPA.getIndTipoArbitraje());
		objetoDTO.setCodTramite(trayectoriaArbitralJPA.getCodTramite());
		objetoDTO.setCodRegistro(trayectoriaArbitralJPA.getCodRegistro());
		objetoDTO.setEsEditable(false);
		objetoDTO.setEstado(trayectoriaArbitralJPA.getEstado());
			
		objetoDTO.setDescAccion(fiscalizaTrayecArbitralJPA.getDescAccion() );
		objetoDTO.setDescResultado(fiscalizaTrayecArbitralJPA.getDescResultado() );
		
		
	return objetoDTO;
	}
	
	public static TrayectoriaArbitralDTO createJPA(TrayectoriaArbitral trayectoriaArbitralJPA)
	{
		TrayectoriaArbitralDTO objetoDTO= new TrayectoriaArbitralDTO();

		objetoDTO.setIdTrayectoria(trayectoriaArbitralJPA.getIdTrayectoria());
		objetoDTO.setIdFicha(trayectoriaArbitralJPA.getIdFicha());
		objetoDTO.setIndEspecialidad(trayectoriaArbitralJPA.getIndEspecialidad());	
		objetoDTO.setTipoTrayectoria(trayectoriaArbitralJPA.getTipoTrayectoria());
		objetoDTO.setNomEntidad(trayectoriaArbitralJPA.getNomEntidad());
		objetoDTO.setNomContratista(trayectoriaArbitralJPA.getNomContratista());
		objetoDTO.setObjContratacion(trayectoriaArbitralJPA.getObjContratacion());
		objetoDTO.setNumContrato(trayectoriaArbitralJPA.getNumContrato());
		objetoDTO.setProcesoSeleccion(trayectoriaArbitralJPA.getProcesoSeleccion());		
		objetoDTO.setIdesMateriaControvertida(trayectoriaArbitralJPA.getIdMateriaControvertida());		
		objetoDTO.setFecInicio(trayectoriaArbitralJPA.getFecInicio());
		objetoDTO.setFecFin(trayectoriaArbitralJPA.getFecFin());
		objetoDTO.setIndTipoArbitraje(trayectoriaArbitralJPA.getIndTipoArbitraje());
		objetoDTO.setCodTramite(trayectoriaArbitralJPA.getCodTramite());
		objetoDTO.setCodRegistro(trayectoriaArbitralJPA.getCodRegistro());
		objetoDTO.setEsEditable(false);
		objetoDTO.setEstado(trayectoriaArbitralJPA.getEstado());
			
		
		
	return objetoDTO;
	}
	
	
	public static List<TrayectoriaArbitralDTO> createListDTO(List<TrayectoriaArbitral> listaTrayectoriaArbitralJPA){
		
		List<TrayectoriaArbitralDTO> listaObjetoDTO=new ArrayList<TrayectoriaArbitralDTO>();
		TrayectoriaArbitralDTO objetoDTO;

		for (TrayectoriaArbitral trayectoriaArbitralJPA: listaTrayectoriaArbitralJPA) {
			objetoDTO= new TrayectoriaArbitralDTO();
			objetoDTO.setIdTrayectoria(trayectoriaArbitralJPA.getIdTrayectoria());
			objetoDTO.setIdFicha(trayectoriaArbitralJPA.getIdFicha());
			objetoDTO.setIndEspecialidad(trayectoriaArbitralJPA.getIndEspecialidad());	
			objetoDTO.setTipoTrayectoria(trayectoriaArbitralJPA.getTipoTrayectoria());
			objetoDTO.setNomEntidad(trayectoriaArbitralJPA.getNomEntidad());
			objetoDTO.setNomContratista(trayectoriaArbitralJPA.getNomContratista());
			objetoDTO.setObjContratacion(trayectoriaArbitralJPA.getObjContratacion());
			objetoDTO.setNumContrato(trayectoriaArbitralJPA.getNumContrato());
			objetoDTO.setProcesoSeleccion(trayectoriaArbitralJPA.getProcesoSeleccion());		
			objetoDTO.setIdesMateriaControvertida(trayectoriaArbitralJPA.getIdMateriaControvertida());		
			objetoDTO.setFecInicio(trayectoriaArbitralJPA.getFecInicio());
			objetoDTO.setFecFin(trayectoriaArbitralJPA.getFecFin());
			objetoDTO.setIndTipoArbitraje(trayectoriaArbitralJPA.getIndTipoArbitraje());
			objetoDTO.setCodTramite(trayectoriaArbitralJPA.getCodTramite());
			objetoDTO.setCodRegistro(trayectoriaArbitralJPA.getCodRegistro());
			objetoDTO.setEsEditable(false);
			objetoDTO.setEstado(trayectoriaArbitralJPA.getEstado());
			listaObjetoDTO.add(objetoDTO);
		}
		
		return listaObjetoDTO;
		
		}
	
	public static List<TrayectoriaArbitral> createListJPA(List<TrayectoriaArbitralDTO> listTrayectoriaArbitralDTO, Auditoria auditoria)
	{
		List<TrayectoriaArbitral> listaObjetoJPA=new ArrayList<TrayectoriaArbitral>();
		TrayectoriaArbitral objetoJPA;
		for (TrayectoriaArbitralDTO trayectoriaArbitralDTO: listTrayectoriaArbitralDTO) {
			objetoJPA= new TrayectoriaArbitral();
			objetoJPA.setIdTrayectoria(trayectoriaArbitralDTO.getIdTrayectoria());
			objetoJPA.setIdFicha(trayectoriaArbitralDTO.getIdFicha());
			objetoJPA.setIndEspecialidad(trayectoriaArbitralDTO.getIndEspecialidad());	
			objetoJPA.setTipoTrayectoria(trayectoriaArbitralDTO.getTipoTrayectoria());
			objetoJPA.setNomEntidad(trayectoriaArbitralDTO.getNomEntidad());
			objetoJPA.setNomContratista(trayectoriaArbitralDTO.getNomContratista());
			objetoJPA.setObjContratacion(trayectoriaArbitralDTO.getObjContratacion());
			objetoJPA.setNumContrato(trayectoriaArbitralDTO.getNumContrato());
			objetoJPA.setProcesoSeleccion(trayectoriaArbitralDTO.getProcesoSeleccion());		
			objetoJPA.setIdMateriaControvertida(trayectoriaArbitralDTO.getIdesMateriaControvertida());		
			objetoJPA.setFecInicio(trayectoriaArbitralDTO.getFecInicio());
			objetoJPA.setFecFin(trayectoriaArbitralDTO.getFecFin());
			objetoJPA.setIndTipoArbitraje(trayectoriaArbitralDTO.getIndTipoArbitraje());
			objetoJPA.setCodTramite(trayectoriaArbitralDTO.getCodTramite());
			objetoJPA.setCodRegistro(trayectoriaArbitralDTO.getCodRegistro());
			objetoJPA.setEstado(trayectoriaArbitralDTO.getEstado());
			objetoJPA.setAuditoria(auditoria);	
			
			
			listaObjetoJPA.add(objetoJPA);
		}
		return listaObjetoJPA;
		
	}
	
	public static List<HistorialTrayectoriaArbitral> createListHistorialTrayectoriaArbitralJPA(List<TrayectoriaArbitral> listTrayectoriaArbitral, Auditoria auditoria)
	{
		List<HistorialTrayectoriaArbitral> listaObjetoHistorialJPA=new ArrayList<HistorialTrayectoriaArbitral>();
		HistorialTrayectoriaArbitral objetoHistorialJPA;
		for (TrayectoriaArbitral trayectoriaArbitralJPA: listTrayectoriaArbitral) {
			objetoHistorialJPA= new HistorialTrayectoriaArbitral();
			objetoHistorialJPA.setFecHistorial(new Date());
			objetoHistorialJPA.setIdTrayectoria(trayectoriaArbitralJPA.getIdTrayectoria());
			objetoHistorialJPA.setIdFicha(trayectoriaArbitralJPA.getIdFicha());
			objetoHistorialJPA.setIndEspecialidad(trayectoriaArbitralJPA.getIndEspecialidad());	
			objetoHistorialJPA.setTipoTrayectoria(trayectoriaArbitralJPA.getTipoTrayectoria());
			objetoHistorialJPA.setNomEntidad(trayectoriaArbitralJPA.getNomEntidad());
			objetoHistorialJPA.setNomContratista(trayectoriaArbitralJPA.getNomContratista());
			objetoHistorialJPA.setObjContratacion(trayectoriaArbitralJPA.getObjContratacion());
			objetoHistorialJPA.setNumContrato(trayectoriaArbitralJPA.getNumContrato());
			objetoHistorialJPA.setProcesoSeleccion(trayectoriaArbitralJPA.getProcesoSeleccion());		
			objetoHistorialJPA.setIdMateriaControvertida(trayectoriaArbitralJPA.getIdMateriaControvertida());		
			objetoHistorialJPA.setFecInicio(trayectoriaArbitralJPA.getFecInicio());
			objetoHistorialJPA.setFecFin(trayectoriaArbitralJPA.getFecFin());
			objetoHistorialJPA.setIndTipoArbitraje(trayectoriaArbitralJPA.getIndTipoArbitraje());
			objetoHistorialJPA.setCodTramite(trayectoriaArbitralJPA.getCodTramite());
			objetoHistorialJPA.setCodRegistro(trayectoriaArbitralJPA.getCodRegistro());
			objetoHistorialJPA.setEstado(trayectoriaArbitralJPA.getEstado());
			objetoHistorialJPA.setAuditoria(auditoria);	
			
			
			listaObjetoHistorialJPA.add(objetoHistorialJPA);
		}
		return listaObjetoHistorialJPA;
		
	}
	
public static List<TrayectoriaArbitralDTO> createListHistorialTrayectoriaArbitralDTO(List<HistorialTrayectoriaArbitral> listaHistorialTrayectoriaArbitralJPA){
		
		List<TrayectoriaArbitralDTO> listaObjetoDTO=new ArrayList<TrayectoriaArbitralDTO>();
		TrayectoriaArbitralDTO objetoDTO;

		for (HistorialTrayectoriaArbitral trayArbitralHistorialJPA: listaHistorialTrayectoriaArbitralJPA) {
			objetoDTO= new TrayectoriaArbitralDTO();
			objetoDTO.setIdHistorial(trayArbitralHistorialJPA.getIdHistorial());
			objetoDTO.setFecHistorial(trayArbitralHistorialJPA.getFecHistorial());
			objetoDTO.setIdTrayectoria(trayArbitralHistorialJPA.getIdTrayectoria());
			objetoDTO.setIdFicha(trayArbitralHistorialJPA.getIdFicha());
			objetoDTO.setIndEspecialidad(trayArbitralHistorialJPA.getIndEspecialidad());	
			objetoDTO.setTipoTrayectoria(trayArbitralHistorialJPA.getTipoTrayectoria());
			objetoDTO.setNomEntidad(trayArbitralHistorialJPA.getNomEntidad());
			objetoDTO.setNomContratista(trayArbitralHistorialJPA.getNomContratista());
			objetoDTO.setObjContratacion(trayArbitralHistorialJPA.getObjContratacion());
			objetoDTO.setNumContrato(trayArbitralHistorialJPA.getNumContrato());
			objetoDTO.setProcesoSeleccion(trayArbitralHistorialJPA.getProcesoSeleccion());		
			objetoDTO.setIdesMateriaControvertida(trayArbitralHistorialJPA.getIdMateriaControvertida());		
			objetoDTO.setFecInicio(trayArbitralHistorialJPA.getFecInicio());
			objetoDTO.setFecFin(trayArbitralHistorialJPA.getFecFin());
			objetoDTO.setIndTipoArbitraje(trayArbitralHistorialJPA.getIndTipoArbitraje());
			objetoDTO.setCodTramite(trayArbitralHistorialJPA.getCodTramite());
			objetoDTO.setCodRegistro(trayArbitralHistorialJPA.getCodRegistro());
			objetoDTO.setEsEditable(false);
			objetoDTO.setEstado(trayArbitralHistorialJPA.getEstado());
			listaObjetoDTO.add(objetoDTO);
		}
		
		return listaObjetoDTO;
		
		}
	
}